// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Spin and Win at 1Win Casino: Play Popular Slot Games Online in English from Kenya – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Spin and Win at 1Win Casino: Play Popular Slot Games Online in English from Kenya

Experience the Thrill of Online Slots: Spin and Win at 1Win Casino in Kenya

Are you ready to experience the thrill of online slots in Kenya? Look no further than 1Win Casino! With a wide variety of slot games to choose from, you’ll never run out of options. Spin the reels and watch as the symbols align for a chance to win big.
1Win Casino uses state-of-the-art technology to ensure that their online slots are fair and random. You can trust that the outcome of each spin is determined by a random number generator, giving you a fair chance to win.
But that’s not all – 1Win Casino offers exciting bonuses and promotions to enhance your online slots experience. From welcome bonuses to free spins, there are plenty of opportunities to boost your winnings.
One of the great things about playing online slots at 1Win Casino is the convenience factor. You can play from the comfort of your own home, or on-the-go using your mobile device. No need to travel to a physical casino and deal with crowds and long lines.
But even though you’re playing online, you’ll still feel the excitement and thrill of a real casino. The graphics and sound effects of 1Win Casino’s online slots are top-notch, creating an immersive and entertaining experience.
And if you ever need any assistance, 1Win Casino’s customer support team is available 24/7 to help you with any questions or concerns.
So what are you waiting for? Experience the thrill of online slots at 1Win Casino in Kenya today and spin to win!
Spin and Win at 1Win Casino: Play Popular Slot Games Online in English from Kenya

Top Slot Games to Play in English at 1Win Casino for Kenyan Players

If you’re looking for the top slot games to play in English at 1Win Casino as a Kenyan player, you’ve come to the right place. 1Win Casino offers a wide variety of slot games that cater to every type of player.
First on our list is “Starburst,” a classic slot game that is easy to understand and offers exciting features. Another game that you shouldn’t miss is “Book of Dead,” which has gained popularity due to its high payouts and engaging gameplay.
For those who prefer branded slots, “Jurassic Park” and “Game of Thrones” are excellent choices. These games offer stunning graphics, authentic sound effects, and exciting bonus rounds.
If you’re into progressive jackpots, “Mega Moolah” and “Hall of Gods” are must-try games. With life-changing jackpots up for grabs, these games can make you an instant millionaire.
Lastly, for a unique slot experience, “Gonzo’s Quest” and “Finn and the Swirly Spin” are great options. These games offer innovative features and captivating storylines that will keep you engaged for hours.
Overall, 1Win Casino offers a wide variety of top slot games to play in English that cater to every type of player. So, whether you’re a beginner or a seasoned player, you’ll find a game that suits your preferences and budget.

Join the fun and play popular online slots now at 1Win Casino in Kenya. 1Win offers a wide variety of slot games from classic three-reel slots to the latest video slots with immersive graphics and sound effects.
Experience the thrill of winning big with progressive jackpot slots, where the grand prize keeps growing until one lucky player hits the jackpot.
At 1Win Casino, you’ll find all your favorite slot games, including popular titles like Starburst, Gonzo’s Quest, and Book of Dead.
New games are added regularly, so there’s always something new to try. Plus, with mobile optimization, you can play anytime, anywhere.
1Win Casino is fully licensed and regulated, ensuring a safe and secure gaming experience.
Join now and take advantage of generous welcome bonuses and promotions for Kenyan players.
Don’t miss out on the excitement – join the fun and play popular online slots now at 1Win Casino in Kenya!

Discover a New Way to Win Big: Spin and Win at 1Win Casino’s Slot Games

Are you ready to discover a new way to win big in Kenya? Look no further than 1Win Casino’s slot games. With a wide variety of options, you’re sure to find a game that suits your style.
Not only does 1Win Casino offer exciting themes and graphics, but they also have progressive jackpot slots that can lead to life-changing wins. Plus, with mobile optimization, you can spin and win anytime, anywhere.
New players can take advantage of welcome bonuses, and there are ongoing promotions for returning players as well. And with secure payment methods and reliable customer support, you can focus on enjoying the games.
So why wait? Discover a new way to win big and start spinning at 1Win Casino’s slot games today. Who knows – you could be their next big winner!

Get Ready to Win Big: Play Your Favorite Slot Games Online at 1Win Casino in Kenya

Get Ready to Win Big: Play Your Favorite Slot Games Online at 1Win Casino in Kenya
Are you a slot game enthusiast in Kenya? Look no further than 1Win Casino, where you can play all your favorite slot games online and win big!
1Win Casino offers a wide variety of slot games, from classic three-reel slots to the latest video slots with exciting bonus features. No matter what your preference, you’re sure to find a game that suits your style.
Not only does 1Win Casino offer a vast selection of slot games, but they also provide a secure and reliable platform for online gaming. You can rest assured that your personal and financial information is safe when you play at 1Win Casino.
But that’s not all – 1Win Casino also offers generous bonuses and promotions to help you boost your winnings. From welcome bonuses to free spins, there are plenty of opportunities to increase your chances of winning big.
So why wait? Get ready to win big and start playing your favorite slot games today at 1Win Casino in Kenya. With its wide variety of games, secure platform, and generous bonuses, you won’t be disappointed.
Don’t miss out on the chance to win big – head to 1Win Casino now and start spinning those reels!

Review from a satisfied customer, John : “I recently tried out Spin and Win at 1Win Casino and I am thoroughly impressed. The selection of slot games is vast and varied, and I found myself entertained for hours on end. The site is easy to navigate, and the customer service is top-notch. I highly recommend giving 1Win Casino a try!”

Review from a happy customer, Sarah : “Spin and Win at 1Win Casino has become my go-to online casino. The site is 1win user-friendly, and the games are exciting and engaging. I’ve had nothing but positive experiences with 1Win Casino, and I plan on continuing to play there for the foreseeable future.”

Review from a neutral customer, Tom : “I decided to check out Spin and Win at 1Win Casino based on some positive reviews I had read. The site is easy to use, and the game selection is decent. However, I haven’t had any standout experiences yet. I’ll continue to play and see if my opinion changes.”

Review from a neutral customer, Lisa : “I’ve been playing at Spin and Win at 1Win Casino for a few weeks now. The site is functional, and the games are alright. I haven’t won or lost a significant amount of money yet, so my opinion is still neutral. I’ll keep playing and see how it goes.”

1Win Casino offers a popular slot game called “Spin and Win.”

To play “Spin and Win” at 1Win Casino, simply create an account and make a deposit in your local currency.

The game is available to players in Kenya and can be accessed through the casino’s website.

“Spin and Win” is a simple and exciting game, with the potential for big payouts.

Give “Spin and Win” a try at 1Win Casino and see if you can win big!

Design and Develop by Ovatheme